iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0

說到區塊鏈就一定會提到錢包,而提到錢包就會提到Address(地址),區塊鏈上的地址是基於BIP32BIP44BIP84BIP141而來,BIP全名Bitcoin Improvement Proposal,是指Bitcoin上面的提案,而這些是定義了HD Wallet(Hierarchical Deterministic Wallets)和後續發展,簡單的說就是可以透過一組助記詞Mnemonic來產生一組金鑰然後可以透過Derivation Path去產生近乎無限多個Derived Addresses地址,為什麼會需要這麼多個地址呢?
各位如果有使用過CEX(Centralized Exchange)的話應該就會發現在錢包中可以看到各個CEX有支援的鏈的Address,這些Address就是交易所透過一組註記詞所產生的Derived Addresses,這樣就可以透過Path來管理密鑰進行交易的操作,並不用像是個人使用MetaMask類型的錢包一樣,一個Address就需要使用一組註記詞。


這裡分享一個簡單的線上工具可以讓大家體驗一下剛剛提到的BIP以及註記詞所產生的Derived Addresses。
Mnemonic Code Converter
https://ithelp.ithome.com.tw/upload/images/20220918/20140358FhJrULu9Fe.png
可以看到在Derivation Path中可以設定path m/Purpose'/Coin'/Account'/External/Internal
https://ithelp.ithome.com.tw/upload/images/20220918/20140358Px2fVtrmdV.png
可以看到這邊產生了許多的Address和Public/Private key。
這邊分享一下小知識,一般CEX會有兩組註記詞,一組用來產生所有用戶的Address作為Deposit Adress,一組用來Withdraw,不知道大家有沒有這種疑問,為什麼我們明明Deposit Ethereum上的USDT到CEX,但在CEX wallet中卻可以Withdraw USDT via 交易所有支援的鏈像是ERC-20/TRC-20/Polygon/BEP-20等等的鏈發送出去,這是因為一般Deposit crypto到CEX地址中,CEX會將這些Crypto通通透過鏈上交易轉移到Withdraw address集中起來,將來你想要withdraw crypto到外部地址時,會從withdraw address發送交易,所以當你在CEX查看你withdraw的鏈上交易訊息時,會發現From的Address和自己Deposit的地址不一樣,例如我在MAX USDT的Address是
https://ithelp.ithome.com.tw/upload/images/20220918/20140358IFeBxJr0tT.png
然後我將USDT透過TRC-20轉移到外部錢包,這個交易紀錄可以看到Owner address不是自己的Deposit的Address,這個是MAX在Tron上的withdraw address。
https://ithelp.ithome.com.tw/upload/images/20220918/20140358eVsE1ATnpr.png
所以CEX會再有支援的鏈上都會放一定數量的crypto,才能夠讓使用者可以選擇不同的chain來withdraw。


上一篇
[Day 3] 快速鑄造自己的智能合約幣(Token)
下一篇
[Day 5] 淺談中心化交易所CEX
系列文
如何打造屬於自己的區塊鏈錢包服務31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言